The present invention relates to a method of operating a computer forming a node in a network, the network consisting of a plurality of computer nodes linked together.
Over the past few years it has become increasingly common to connect personal computers or workstations together into networks so that different machines can communicate with one another. A typical approach has been the introduction of local area networks (LANs) that provide file transfer and other facilities between computers. Other types of link, for example Intergrated Services Digital Network (ISDN), are also known. Such networks offer the possibility of new forms of application for the user--for example EPA 475581 describes a collaborative working environment in which users at two or more different machines work simultaneously and in combination on a single program (for example a spreadsheet). Another possibility is to provide video-conferencing, using personal computers equipped with multimedia video display adapter cards.
In order to achieve maximum flexibility and usefulness, such collaborative working and multimedia applications place great demands on the communications subsystem used. Likewise, the network must be able to use more than one physical network--for instance, workstations on a LAN in one location can be connected with another LAN over an ISDN line (note that we are using "network" here by itself to imply a logical collection of nodes communicating with one another, rather than a hardwired physical network).
The provision of such a network environment poses many technical problems, such as how to assign a terminal a unique name, so that other terminals in the network can identify it. Because the network can be heterogeneous (based on more than one type of physical connection and computer), it is not possible to use identifiers based on particular hardware systems (eg a telephone number as in ISDN, or LAN card identifiers as in a LAN). U.S. Pat. No. 4,914,571 describes a method for locating a named resource in a network. This technique can be adapted to obtain an identifier. The resource requested can represent the intended identifier: if no node in the network has knowledge of this resource, then the identifier must be available, if not, then a new identifier must be selected.
However, U.S. Pat. No. 4,914,571 does not address other difficulties arising from the dynamic nature of the network, such as the need for mechanisms whereby terminals can join or depart from the network in an orderly fashion. Of course, the network must also be able to handle the situation in which links or terminals in the network go down, effectively splitting the network.
Accordingly, the invention provides a method of operating a computer forming a node in a network, said network consisting of a plurality of nodes linked together in a minimum spanning tree topology, wherein each node maintains information concerning the configuration of the network, the method comprising the steps of:
receiving a message from a first node linked to said computer commanding the computer to delete a specified node from the network; PA1 storing information identifying the message; PA1 forwarding the message to other nodes linked to said computer; PA1 receiving replies to the message from said other nodes; PA1 collating the replies received from said other nodes with the stored information to generate a single reply, and dependent on the contents of said replies, deleting the specified node from the network by updating the configuration information; PA1 sending the single reply to said first node. PA1 means for receiving a message from a first node linked to said computer commanding the computer to delete a specified node from the network; PA1 means for storing information identifying the message; PA1 means for forwarding the message to other nodes linked to said computer; PA1 means for receiving replies to the message from said other nodes; PA1 means for collating the replies received from said other nodes with the stored information to generate a single reply, and dependent on the contents of said replies, deleting the specified node from the network by updating the configuration information; PA1 means for sending the single reply to said first node.
The advantage of such an approach is that if the message requests deletion of a node, and the normal action would be for the computer to prevent further communications with that node (typically by updating its configuration table), that action is delayed until a full set of positive replies has been received. This ensures that if a node sends a negative response because it is still exchanging messages with the node to be deleted, then the computer still knows how to process these messages.
Thus if a link is broken, resulting in part of the network being cut off, then effectively the network has been reconfigured to no longer include the portion that has been cut off (which may of course form a network on its own). Once a node detects that a portion of the network attached to it has been cut off, then it searches to see if there are any messages awaiting replies from that portion of the network. Any outstanding replies are provided by that node itself, depending on the nature of the message concerned.
The invention also provides a computer workstation adapted to form a node in a network, said network consisting of a plurality of nodes linked together in a minimum spanning tree topology, wherein each node maintains information concerning the configuration of the network, the workstation comprising: